
package com.wzapp.sitposture.common.converter;

import com.wzapp.sitposture.common.util.ToolUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.persistence.AttributeConverter;
import java.math.BigDecimal;

/**
 * 功能: 将对象属性转换为JSON字符串，保存数据库；或者从数据库读取json转为对象. <br/>
 * 日期: 2017年12月19日 下午3:07:02 <br/>
 * 
 * @author wzj
 * @version
 * @since JDK 1.8
 */
public class BigDecimalConverterJson implements AttributeConverter<Double, BigDecimal> {

	private static final Logger log = LoggerFactory.getLogger(BigDecimalConverterJson.class);

	@Override
	public BigDecimal convertToDatabaseColumn(Double meta) {
		if (ToolUtil.isEmpty(meta)){
			return new BigDecimal(0L);
		}

		return BigDecimal.valueOf(meta).multiply(new BigDecimal(10000L));
	}

	@Override
	public Double convertToEntityAttribute(BigDecimal dbData) {
        if (ToolUtil.isEmpty(dbData)){
            return 0.0;
        }

		return dbData.divide(new BigDecimal(10000L)).doubleValue();
	}

}